using IQIGame.Onigao.GamePlay;

namespace IQIGame.Onigao.Logic
{
    /// <summary>
    /// 改变自定义背景音乐，该音乐优先级最高
    /// 参数组1:1：region cid（当前地区可填0）， 2：音乐的Audio cid，有三种情况：（1）有值表示播放该音乐，（2）-1表示全局没有背景音乐，（3）0表示无自定义音乐，恢复默认BGM
    /// </summary>
    public class ExecChangeCustomBGM : BaseServiceExecution
    {
        public override void Execute(LevelRegion region, LevelPlayer player)
        {
            var config = _config as ExecParamChangeCustomBGM;

            int regionCid = config.regionCid;
            int audioCid = config.audioCid;

            LevelRegion targetRegion = regionCid == 0 ? region : region.level.GetRegion(regionCid);
            targetRegion.customBgmCid = audioCid;

            region.NotifyCustomBgmChange(targetRegion, audioCid);
        }
    }
}
